unsigned long delay_max_count = 0;
unsigned long delay_second;
unsigned long delay_min;
unsigned long delay_hour;
unsigned long delay_day;
unsigned long delay_month;
unsigned long delay_year;

unsigned long delay_us_max_count = 0;

unsigned long  time_ms ;
unsigned long  time_ms_previous ;
unsigned long  time_us ;
unsigned long  time_us_previous ;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  delay_max_count -= 1;
  delay_second  = delay_max_count / 1000;
  delay_min     = delay_second / 60;
  delay_hour    = delay_min / 60;
  delay_day     = delay_hour / 24;
  delay_month   = delay_day / 30;
  delay_year    = delay_day / 365;

  Serial.print("delay max ms = ");
  Serial.print(delay_max_count);

  Serial.print("\t delay max ~= year (");
  Serial.print(delay_year);
  
  Serial.print(") \t months (");
  Serial.print(delay_month);
  
  Serial.print(") \t days (");
  Serial.print(delay_day);

  Serial.print(") \t hours (");
  Serial.print(delay_hour);

  Serial.print(") \t mins (");
  Serial.print(delay_min);

  Serial.print(") \t seconds (");
  Serial.print(delay_second);

  Serial.print(")");
  Serial.println("");

  delay_us_max_count -= 1;
  Serial.print("delay max us = ");
  Serial.print(delay_us_max_count);
  Serial.println("");
}

void loop() {
  // put your main code here, to run repeatedly:

  time_ms = millis();
  time_us = micros();
  // ----- millis()
  Serial.print("millis() Time: ");
  Serial.print(time_ms);

  Serial.print("\t");
    
  Serial.print("delta: ");
  Serial.print(time_ms - time_ms_previous);

  time_ms_previous = time_ms;
  // ---- micros()
  Serial.print("\t");
  
  Serial.print("micros() Time: ");
  Serial.print(time_us);  

  Serial.print("\t");

  Serial.print("delta: ");
  Serial.print(time_us - time_us_previous);

  time_us_previous = time_us;
    
  Serial.println("");
  
  //delay(100);
  
}
